package admin;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
/**
 * Clase para conectarse a un servidor desde java al que mandama peticiones
 * SQL para que acceda a una base de datos y responda con el resultado
 */
@SuppressWarnings("deprecation")
public class Conexion { 
	private String respuesta;//respuesta del servidor
	private String url = "http://sighton.es/softbooks/phpServer.php";//URL del servidor al que nos conectamos
	private HttpClient httpclient;//para conectarnos al servidor http
	/**
	 * pregunta es una peticion SQL que mandamos al servidor
	 * debuelve la respuesta a la peticion SQL pregunta
	 */
	
	public String enviarPeticion(String pregunta,String tipo) {		
		httpclient = new DefaultHttpClient();
		HttpPost httppost = new HttpPost(url);
		try {				
			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
			nameValuePairs.add(new BasicNameValuePair("tipo", tipo));
			nameValuePairs.add(new BasicNameValuePair("query", pregunta));
			    
			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
			HttpResponse response = httpclient.execute(httppost);
			respuesta = inputStreamToString(response.getEntity().getContent()).toString();
			}
		catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return respuesta;
	}
	/**
	 * Da forma a la respuesta del sevidor
	 */
	private StringBuilder inputStreamToString(InputStream is) {
		String rLine = "";
		StringBuilder answer = new StringBuilder();
		BufferedReader rd = new BufferedReader(new InputStreamReader(is));

		try {
			while ((rLine = rd.readLine()) != null) {
				answer.append(rLine);
			}
		}

		catch (IOException e) {
			e.printStackTrace();
				
		}
		return answer;
	}
		
		
		
	

}
